<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>set</title>

</head>

<body>

     <script>

         let s=new Set();

         s.add("yuan");

         s.add("lei");

         s.add("lei");

         s.add(808);

         console.log(s);

         console.log(s.size);

         //不能像数组一样去操作

         for(let i of s){

             console.log(i);

         }

         s.forEach(v=>{

            console.log(v);

         }

         )

          //可以使用foreach循环输出

          //转为数组

         let ns=[...s].map(v=>v+1);

         console.log(ns);

        //set没有map方法

        console.log(new Set("aaaaabbbbcc"));

        //set的参数为字符串时，将会生成一个Set把每个字符都加到Set中并去重。

        var arr=[1,2,3,4,1,2,3,4,7];

        var na=Array.from(new Set(arr));

        var na1=[...new Set(arr)];

        console.log(na1,na);

        let fs=[...s].filter(v=>!isNaN(v));

        // isNaN如果是特殊的非数字值 NaN（或者能被转换为这样的值），返回的值就是 true。如果 x 是其他值,则返回 false。

        console.log(fs);

        s.delete("yuan");

        console.log(s.has("yuan"));

     </script>

</body>

</html>